using PEMath;
using PEPhysx;


public class HeroData : LogicUnitData
{
    public int heroId;
    public int posIndex;
    public string userName;
}

public class TowerData : LogicUnitData
{
    public int towerId;
    public int towerIndex;
}


public class SoldierData : LogicUnitData
{
    public int soldierId;
    public int waveIndex;
    public int orderIndex;
    public string soldierName;
}

public class LogicUnitData
{
    public TeamEnum teamEnum;
    public PEVector3 bornPos;
    public UnitConfig unitConfig;
}

public class UnitConfig
{
    public int unitId;
    public string unitName;
    public string resName;

    public PEInt hitHeight;

    // 核心属性
    public int hp;
    public int def;
    public int moveSpeed;

    // 碰撞体
    public ColliderConfig colliderConfig;

    // 技能ID数组
    public int[] pasvBuff;
    public int[] skillArr;
}


public class MapConfig {
    public int mapId;
    public PEVector3 blueBorn;
    public PEVector3 redBorn;

    public int[] towerIdArr;
    public PEVector3[] towerPosArr;

    // 小兵出生间隔
    public int bornDelay;
    public int bornInterval;
    public int waveInterval;
    public int[] blueSoldierIdArr;
    public PEVector3[] blueSoldierPosArr;
    public int[] redSoldierIdArr;
    public PEVector3[] redSoldierPosArr;
}